-
Notifications
You must be signed in to change notification settings - Fork 153
refactor(all): add middy-like types to commons #1225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(all): add middy-like types to commons #1225
Conversation
ef61d0c
to
729da39
Compare
Its does not feel correct to copy the code form another repository as major updates need to manually transferred and incompatibilities need always to be tested. But for solving the Thanks for the effort |
Hey @obiwabrakenobi, this is a hack made to fix the Once we start discussing Powertools v2 we'll likely revisit this topic with the freedom of being able to make a breaking change on our side, but for now the In the meanwhile we'll keep an eye on the upstream repo (which we are already doing). |
Hi @obiwabrakenobi completely agree with you that this is not the best solution. As Andrea already mentioned, definitely something we want to improve in v2. |
Description of your changes
Following the discussion in the linked issue (#1068), as well as other issues (#1080, #1081), customers who are using Powertools and bundling their TypeScript project with
tsc
, but that were not using any of the Middy-compatible middleware were having compile issues due to the dependency being missing.We have investigated several workarounds:
@middy/core
dependency (fix(middleware): add @middy/core as dependency #1218)The first option was a no-go as it would have introduced an unnecessary dependency for those users having the issue. The second one would have constituted a breaking change, requiring a major release.
The last option (credits to @saragerion for proposing it) allows us to maintain backwards compatibility while solving the issue described above.
The solution that this PR proposes (again, credits to @saragerion), introduces some of the types previously imported from
@middy/core
into@aws-lambda-powertools/commons
. By bringing these types into the project, we can remove the dependency to@middy/core
from our codebase and allow customers to bundle usingtsc
as well asesbuild
.How to verify this change
See existing unit tests below this PR and successful integration test run: https://github.com/awslabs/aws-lambda-powertools-typescript/actions/runs/3894429621
Related issues, RFCs
Issue number: #1068
PR status
Is this ready for review?: YES
Is it a breaking change?: NO
Checklist
Breaking change checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.